Skip to content

docs: document the CI-artifact route for the release archive - #323

Merged
jeiel85 merged 1 commit into
mainfrom
docs-ci-export-path
Aug 15, 2026
Merged

docs: document the CI-artifact route for the release archive#323
jeiel85 merged 1 commit into
mainfrom
docs-ci-export-path

Conversation

@jeiel85

@jeiel85 jeiel85 commented Aug 15, 2026

Copy link
Copy Markdown
Owner

Adds a subsection to docs/RELEASE.md § Release Export covering what to do when :app:exportReleaseToBuildDrive cannot run locally.

The local export stays the default and the section says so. But it is the step most likely to be the one a given machine cannot do: minifyReleaseWithR8 is the heaviest task in the build, and short of memory it does not fail cleanly — it kills the Gradle daemon, and the message names neither memory nor R8. v2.32.6 hit this at both -Xmx2048m and -Xmx1536m with ~1.7 GB free, and the archive came from the tag job's artifacts instead.

That substitution is sound — release runs the same task on the same tagged commit with the same signing key — but it was decided ad hoc during a release, which is the wrong time to be deciding whether something counts. The section covers the symptom and how to recognise it, the download and naming, assembling the notes file from the fastlane changelogs, verifying with verify-release-export.ps1, and a jarsigner check for the release certificate (the one property the local build gives for free and this route does not).

It also names the two things this route changes:

  • Ordering inverts. The gate exists to run before the tag; artifacts only exist after it, so the check that was meant to catch a forgotten export becomes the step that can be forgotten.
  • It expires. Workflow artifacts last 30 days, and a rebuilt R8 mapping will not deobfuscate traces from the shipped binary.

Commands were verified against the v2.32.6 archive: the run lookup resolves to 31891151897, and the notes loop reproduces markleaf-v2.32.6-vc128-release-notes.txt exactly (Compare-Object → no differences).

No change to the PowerShell quoting guidance — -Pmarkleaf.requireReleaseSigning=true is already documented as needing quotes in § Local Signed Release Build, which is what I should have followed.

🤖 Generated with Claude Code

The local export is the step most likely to be the one a machine cannot do.
R8 is the heaviest task in the build, and short of memory it does not fail
cleanly -- it kills the daemon, and the message names neither memory nor R8 as
the cause. v2.32.6 hit this at both -Xmx2048m and -Xmx1536m and the archive was
assembled from the tag job's artifacts instead.

That substitution is sound: `release` runs the same task on the same tagged
commit with the same signing key. Writing it down so the next person does not
have to decide under pressure whether it counts, and so the two things it
changes are visible -- verification now runs after the tag rather than before
it, and workflow artifacts expire in 30 days.

Commands verified against the v2.32.6 archive: the run lookup resolves, and the
notes loop reproduces the archived file exactly.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@jeiel85
jeiel85 merged commit 6f8d5b2 into main Aug 15, 2026
5 checks passed
@jeiel85
jeiel85 deleted the docs-ci-export-path branch August 15, 2026 23:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant